/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package jforum.actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jforum.DAO.MessageDAO;
import jforum.domain.Message;
import jforum.domain.User;
import jforum.util.AuthModule;
import jforum.util.DBConnector;

/**
 * Действие просмотра формы ответа на сообщение
 * @author Вадим
 */
public class ViewPostFormAction implements Action {

    public String perform(HttpServletRequest request, HttpServletResponse response) throws Exception {
        User user=AuthModule.getUser(request.getCookies());
        if (user!=null) {
            request.setAttribute("user", user);
            // ссылка на родительское сообщение (на которое отвечаем)
            String parent_id = request.getParameter("id");
            if (parent_id!=null) {
                //сообщение-ответ
                int pid=-1;
                try {
                    pid=Integer.parseInt(parent_id);
                } catch (NumberFormatException ex) {
                    request.getSession().setAttribute("errorMessage","Id сообщения должно быть натуральным числом.");
                    return ActionNames.error_page;
                }
                DBConnector conn=DBConnector.getInstance();
                MessageDAO dao=new MessageDAO(conn);
                Message m = dao.Load(pid);
                request.setAttribute("message",m);
            }
            return ActionNames.posting_page;

        } else {
            request.getSession().setAttribute("errorMessage", "Оставлять сообщения могут только зарегистрированные пользователи.");
            return ActionNames.error_page;
        }
    }

}
